package com.vipheyue.jni;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;

/**************
 * 1. java 中建 native 方法 注意返回值
 * 2. 新建 jni文件夹 在其中建  hello.c
 * 3. .c中注意导包 以及c 和 java 类型不同 .c方法(到源文件中的java 目录下用javah 文件的路径) 生成的类可以直接用里面的内容,或者复制方法名
 * 4. jni文件夹中 新建 Android.mk .mk中配置.c文件以及要生成的类库  新建Application.mk 其中配置平台信息
 * 5. 为ndk源文件配置环境变量
 * 6. 到.c文件目录 使用上档键然后窗口中 ndk-build.cmd
 * 7. main 文件夹下面新建jniLibs 把生成的lib目录中的内容转移到 里面去
 * 8. java中 记得导入类库  System.loadLibrary("Hello");
 */
public class MainActivity extends Activity {


    @Bind(R.id.btn_hello)
    Button btnHello;
    @Bind(R.id.btn_test2)
    Button btnTest2;
    static {
        System.loadLibrary("Hello");
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }


    @OnClick({R.id.btn_hello, R.id.btn_test2})
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn_hello:
                Toast.makeText(MainActivity.this, helloFromC(), Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_test2:
                Toast.makeText(MainActivity.this, addFromC(3,6)+"", Toast.LENGTH_SHORT).show();
                break;
        }
    }
    public native String helloFromC();
    public native int addFromC(int i,int j);

    

    /**
     *     heyue-iMac:src heyue$ cd /Users/heyue/Documents/pro/JNI/jni/src/main/java
     heyue-iMac:java heyue$ javah -d jni com.vipheyue.jni.MainActivity
     * **/
}
